package com.zimmur.app.mocolink.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zimmur.app.mocolink.domain.model.GoodsType;
import com.zimmur.app.mocolink.domain.model.GoodsTypeExample;
import com.zimmur.app.mocolink.domain.vo.GoodsTypeVo;

public interface GoodsTypeMapper {
    int countByExample(GoodsTypeExample example);

    int deleteByExample(GoodsTypeExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(GoodsType record);

    int insertSelective(GoodsType record);

    List<GoodsType> selectByExample(GoodsTypeExample example);

    GoodsType selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") GoodsType record, @Param("example") GoodsTypeExample example);

    int updateByExample(@Param("record") GoodsType record, @Param("example") GoodsTypeExample example);

    int updateByPrimaryKeySelective(GoodsType record);

    int updateByPrimaryKey(GoodsType record);
    /**
     * 查询两级分类
     *@Description
     *@param grade
     *@param parentId 可为空
     *@return 
     *@author zcx
     *@Time 2017年10月17日 上午10:42:14
     */
    List<GoodsTypeVo> selectByGradeWithChild(@Param("grade")Integer grade,@Param("parentId")Integer parentId);
    
    
    /**
     * 条件查询分类
     *@Description
     *@param isUsed
     *@return 
     *@author zcx
     *@Time 2017年10月20日 下午9:13:19
     */
    List<GoodsTypeVo> selectByIsUsed(@Param("isUsed")Byte isUsed);
    /**
     * 根据父类型ID查询
     *@Description
     *@param parentId
     *@return 
     *@author zcx
     *@Time 2017年10月23日 上午11:07:13
     */
    List<Integer> selectByParentId(@Param("list")List<Integer> parentId);
    /**
     * 批量禁用类型
     *@Description
     *@return 
     *@author zcx
     *@Time 2017年10月23日 上午11:15:31
     */
    int batchUpdateGoodsTypeStatus(@Param("list")List<Integer> typeId);
    
    
}